1. Field of the Invention
The present invention relates to switching of data packets in a non-blocking network switch configured for switching data packets between subnetworks.
2. Background Art
Local area networks use a network cable or other media to link stations on the network. Each local area network architecture uses a media access control (MAC) enabling network interface devices at each network node to access the network medium.
The Ethernet protocol IEEE 802.3 has evolved to specify a half-duplex media access mechanism and a full-duplex media access mechanism for transmission of layer 2 type data packets. A layer 2 type data flame (also referred to as a layer 2 type data packet) is defined as a data frame having a layer 2 header (e.g., Ethernet), a corresponding payload, and a cyclic redundancy check field (also referred to as a frame check sequence field) having a value based on the layer 2 header and the corresponding payload. The full-duplex media access mechanism provides a two-way, point-to-point communication link between two network elements, for example between a network node and a switched hub.
Switched local area networks are encountering increasing demands for higher speed connectivity, more flexible switching performance, and the ability to accommodate more complex network architectures. For example, commonly-assigned U.S. Pat. No. 5,953,335 discloses a network switch configured for switching layer 2 type Ethernet (IEEE 802.3) data packets between different network nodes; a received layer 2 type data packet may include a VLAN (virtual LAN) tagged frame according to IEEE 802.1p (802.1D) protocol that enables the network switch to perform more advanced switching operations. For example, the VLAN tag may specify another subnetwork (via a router) or a prescribed group of stations.
A newer protocol, known as IEEE 802.1q enables a transmitting network node to specify a VLAN tag having a priority for the layer 2 type data packet: for example, the VLAN tag includes a Tag Control Information (TCI) field that includes a three-bit user priority field. Hence, newer network interface devices capable of transmitting layer 2 type data packets according to IEEE 802.1q protocol enable the network switch to perform priority based switching based on layer 2 information.
Unfortunately, legacy devices (i.e., devices implemented before establishment of the IEEE 802.1q protocol) are unable to transmit layer 2 type data packets according to the new standard; hence, the legacy devices are unable to specify for a network switch whether a transmitted data frame has a priority status for switching purposes. Moreover, instances may arise where the switching of layer 2 type data frames by a network switch need to be prioritized based on criteria other than the presence of priority information within a received layer 2 type data frame. For example, one network station may output a layer 2 type data frame specifying a high priority, however the network switch receiving the layer 2 type data frame may have different traffic requirements that override the high priority designation by the one network station.